{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "33cad4a1",
   "metadata": {},
   "source": [
    "## Notebook 5 - Setting the CosineScore threshold"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e2de9338",
   "metadata": {},
   "source": [
    "This notebooks identifies a reasonable cutoff to call hits from our screening results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "59487e8f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5da724f4",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('./tmp/Val_results_cosine_iteration_1.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b2747df8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3dQnsBgTEZHRadP60Uxc4eHhiI+v+M8d8zljIiIyOvPmzUO91p0QlQG4u7vLHcfg2DImIiKj1OCll3Az0wzqAnZTExERyaKWizWs71/C2zNm4/z583LHMSh2UxMRkVFSKBRYOWcMhBCIu3ERRw4dlDuSwbBlTERERsnMzAw//vgjAODihQsVelQ1izERERktHx8fAMDDpAf46quvZE5jOCzGRERktJo1a4b69esDQIWejYvFmIiIjJapqSmmT58OANi1axf+/PNPeQMZCAdwERGRUevfvz/27tuHu1a1UGBmfItG6ANXbSIionLhz6iHCL3+AP1rKHRd13Lhqk1ERFQpNa3mhPDIS2jQoAFCQkLkjqNXLMZERFQu2FiY4ebWjwAAnTp1wtq1a1FQUCBzKv1gMSYionLjj/17dX8eP3482rdvj8LCQhkT6QeLMRERlRteXl7IyMhAt27dAAAnT57EsGHDZE5VeizGRERUrtjb22Pv3r1o164dAGDHzp24Hn1X5lSlw9HURERULmm1Wly7EYVTD82xOzIe7Wo745ePJ+O1V3uie/fucHV1hbOzM8zNzfV+bn3XGRZjIiIq97Ragf+t346ZY4c+sc/G1g7u7u64cD4Stra2ejkfH20iIiL6FxMTBd4e3g8///wz+vbrD98ateCkVMHExAQ52VlITMvG7YfZAGCUA77YMiYiogpLq9UiPDwc527cxQVFTaSp8xGyeAhEoQb+bdtg544dMDOTPhllpemmFkJg0aJFWLt2LdLT09G8eXOsWrUKfn5+L/wsizERET1NzINM1PV2hSY/T7etW/ceaNa0CRo0aIDhw4cX63v0XWeMdm7q5cuXIzg4GAcOHECtWrWwZMkSdOvWDdevX4ednZ3c8YiIqByqXsUeOdlZmD59On75bQ/i797Bgf37cGD/PlSp8RKS3Vvj7Y41ceP6NYSHh8PGxuaJV926dfWey2hbxtWrV8f06dMxbdo0AEBBQQE8PDzw+eef44033njuZ9kyJiKi4njw4AEOHDiAmJgYuLi4wKVlb+y9dA9RR37En5s/e+pnGjdthlN/nqj4LeP09HTcvn0brVq10m0zMzND06ZNERER8UQx1mg0RaZEy8nJAfCoKBMRET2Lvb09Bg4cWGRbbz8XHFQl4keRiJwcNbKys5GVlY209DSkpGWi06sDdPVFX+1Z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",
      "text/plain": [
       "<Figure size 528x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(5.5, 5), dpi=96)\n",
    "fig.patch.set_facecolor('white')\n",
    "\n",
    "\n",
    "df_tmp = df\n",
    "\n",
    "scores = df_tmp['CosineScore']\n",
    "scores = np.sort(scores)\n",
    "\n",
    "counts = np.array(range(len(scores),0,-1))\n",
    "N = len(df_tmp['File'].unique())\n",
    "counts_norm = counts / N\n",
    "\n",
    "plt.plot(scores, counts_norm, linewidth = .5)\n",
    "\n",
    "# Let us plot the average\n",
    "scores = df['CosineScore']\n",
    "scores = np.sort(scores)\n",
    "\n",
    "counts = np.array(range(len(scores),0,-1))\n",
    "N = len(df['File'].unique())\n",
    "counts_norm = counts / N\n",
    "plt.plot(scores, counts_norm, linewidth = 1.5, color='black', linestyle='dashed')\n",
    "\n",
    "plt.xlim([0.5,1.0])\n",
    "plt.ylim([0,13])\n",
    "\n",
    "plt.xlabel('CosineScore threshold')\n",
    "plt.ylabel('Average number of hits per experiment')\n",
    "\n",
    "# plt.savefig(filepath_results + \"/figures/Effect of score cutoff.png\", dpi=300, bbox_inches='tight', pad_inches=0, facecolor='white')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "065d4a1d",
   "metadata": {},
   "source": [
    "Let us plot by adduct type:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "04118fbe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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V4fX622xLUcvoy2aW//TTz/dZP1er5cFCxYAiQTx29/+lq1bt7J69WpKSkq46667WrWu1m6Tw/r06UNNTQ0ej6dxmnSPKYQAySuHSV6RvJJqpJARXeKZZ57htdde46677mLPnj0opairq+PFF1/kgQceAODGG2/k+eefZ8mSJcRiMT788EOee+45brrpJgDefvttNm7cSDQaxWazYbVaMRgMJxTPJZdcQiQS4cEHH2zcoR06dIhXX30VgJqaGu677z7WrVtHKBQiFovxwQcfsHjxYs4880wAbrnlFhYtWsSf//xnAoEAkUiEjz76iFAoxPjx4xkxYgQ/+tGPqKurw+PxcNtttzF69GjGjRvXYly33norr7/+Oq+99hrhcJhYLMaOHTtYuHBhi+/Jy8trMfG11Z133skvf/lLVq5cSTweJxQKsXLlSr788ksAXnnlFXbu3Ek8HsfpdGI2m1v9GbR1m5x++ukMGjSIu+66C5/Px759+3j44YeT0k4hRM8neUXyiuSV1COFjOgSZ511Fp999hn79u1j/PjxOJ1OTjnlFBYuXMill14KwKxZs3jiiSe49dZbcbvd/PjHP+b3v/89l1xyCZA45X7xxRfjdrspLCykvLyc55577oTicTqdrFixgtLSUkaOHElaWhqTJk1i6dKlAJhMJiorK5k1axZZWVlkZmZyxx138NOf/pS7774bgBEjRvD+++/z8ssvU1BQQG5uLnPnziUej6PX63nnnXcIhUIUFxczaNAgotEob7/99tc+k2DcuHEsWrSIefPmUVhYSGZmJpdeeil79uxp8T133303W7dubbycoT3uuOMO5syZ09irTmFhIffeey8+nw+AtWvX8s1vfhOn08nAgQNxu908/vjjrVp2W7eJwWDg3//+N7t37yY/P59p06Zxww03tKt9QojeQ/KK5BXJK6lHU0qprg5CCCGEEEIIIdpCzsgIIYQQQgghehwpZIQQQgghhBA9jhQyQgghhBBCiB5HChkhhBBCCCFEjyOFjBBCCCGEEKLHkUJGCCGEEEII0eNIISOEEEIIIYTocaSQEUIIIYQQQvQ4UsgIIYQQQgghehwpZIQQQgghhBA9jhQyQgghhBBCiB7n/wOWmbvEWpriuwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 960x384 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "adducts = list(df['Adduct'].unique())\n",
    "adducts.append('C-gly') # Let us plot the C-glucosides detected as well\n",
    "scores = np.arange(0.5,1.0,0.01)\n",
    "M = np.zeros((len(scores), len(adducts)))\n",
    "for i,score in enumerate(scores):\n",
    "    df_tmp = df[df['CosineScore']>=score]\n",
    "    dict_counts = dict(df_tmp['Adduct'].value_counts())\n",
    "    for j, adduct in enumerate(adducts):\n",
    "        tmp = dict_counts.get(adduct)\n",
    "        if tmp is not None:\n",
    "            M[i,j] = tmp\n",
    "    M[i,-1] = np.sum(df_tmp['C-gly'])\n",
    "\n",
    "            \n",
    "df_plot = pd.DataFrame(M, columns = adducts)\n",
    "    \n",
    "fig = plt.figure(figsize=(10, 4), dpi=96)\n",
    "fig.patch.set_facecolor('white')\n",
    "\n",
    "ax = fig.add_subplot(1, 2, 1)\n",
    "for (columnName, columnData) in df_plot.items():\n",
    "    plt.plot(scores, columnData.values, linewidth = 1.)\n",
    "plt.legend(adducts, prop={'size': 8.})\n",
    "plt.xlabel('CosineScore threshold')\n",
    "plt.ylabel('Number of hits per adduct type')\n",
    "\n",
    "ax = fig.add_subplot(1, 2, 2)\n",
    "for (columnName, columnData) in df_plot.items():\n",
    "    plt.plot(scores, columnData.values, linewidth = 1.)\n",
    "plt.xlabel('CosineScore threshold')\n",
    "plt.ylim([0,2000]);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "17b23085",
   "metadata": {},
   "source": [
    "Let us drop any rows with the same enzyme and name combination:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "8076d6ea",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>File</th>\n",
       "      <th>Enzyme_id</th>\n",
       "      <th>Name</th>\n",
       "      <th>Rep</th>\n",
       "      <th>CSMILES</th>\n",
       "      <th>PrecursorMZ</th>\n",
       "      <th>Adduct</th>\n",
       "      <th>RT</th>\n",
       "      <th>CosineScore</th>\n",
       "      <th>C-gly</th>\n",
       "      <th>AUC</th>\n",
       "      <th>Substrate_used</th>\n",
       "      <th>MoNA_DB#</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>./mzML/73C5_GlycocholicAcid_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>GLYCOCHOLIC ACID</td>\n",
       "      <td>1</td>\n",
       "      <td>CC(CCC(=O)NCC(=O)O)C1CCC2C3C(O)CC4CC(O)CCC4(C)...</td>\n",
       "      <td>628.3738</td>\n",
       "      <td>M+Glu+H</td>\n",
       "      <td>528.93</td>\n",
       "      <td>0.989</td>\n",
       "      <td>False</td>\n",
       "      <td>179767.0</td>\n",
       "      <td>GlycocholicAcid</td>\n",
       "      <td>VF-NPL-QEHF025254</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>./mzML/73C5_GlycocholicAcid_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>DEOXYCHOLIC ACID</td>\n",
       "      <td>1</td>\n",
       "      <td>CC(CCC(=O)O)C1CCC2C3CCC4CC(O)CCC4(C)C3CC(O)C12C</td>\n",
       "      <td>572.3834</td>\n",
       "      <td>M+Glu+NH4</td>\n",
       "      <td>636.79</td>\n",
       "      <td>0.960</td>\n",
       "      <td>False</td>\n",
       "      <td>46008.0</td>\n",
       "      <td>GlycocholicAcid</td>\n",
       "      <td>VF-NPL-QEHF013890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>./mzML/73C5_GlycocholicAcid_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>CHOLESTEROL (2GLC)</td>\n",
       "      <td>1</td>\n",
       "      <td>CC(C)CCCC(C)C1CCC2C3CC=C4CC(O)CCC4(C)C3CCC12C</td>\n",
       "      <td>752.5206</td>\n",
       "      <td>M+2Glu+ACN+H</td>\n",
       "      <td>833.18</td>\n",
       "      <td>0.812</td>\n",
       "      <td>False</td>\n",
       "      <td>247989.0</td>\n",
       "      <td>GlycocholicAcid</td>\n",
       "      <td>VF-NPL-QEHF011349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>./mzML/73C5_GlycocholicAcid_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>SOLASODINE</td>\n",
       "      <td>1</td>\n",
       "      <td>CC1CCC2(NC1)OC1CC3C4CC=C5CC(O)CCC5(C)C4CCC3(C)...</td>\n",
       "      <td>576.4149</td>\n",
       "      <td>M+Glu+H</td>\n",
       "      <td>834.19</td>\n",
       "      <td>0.733</td>\n",
       "      <td>False</td>\n",
       "      <td>553279.0</td>\n",
       "      <td>GlycocholicAcid</td>\n",
       "      <td>VF-NPL-QEHF027390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>./mzML/73C5_GlycocholicAcid_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>SOLASODINE (2GLC)</td>\n",
       "      <td>1</td>\n",
       "      <td>CC1CCC2(NC1)OC1CC3C4CC=C5CC(O)CCC5(C)C4CCC3(C)...</td>\n",
       "      <td>738.4684</td>\n",
       "      <td>M+2Glu+H</td>\n",
       "      <td>763.09</td>\n",
       "      <td>0.693</td>\n",
       "      <td>False</td>\n",
       "      <td>71015.0</td>\n",
       "      <td>GlycocholicAcid</td>\n",
       "      <td>VF-NPL-QEHF027390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>753</th>\n",
       "      <td>./mzML/73C5_Cortisone_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>CORTISONE</td>\n",
       "      <td>1</td>\n",
       "      <td>CC12CCC(=O)C=C1CCC1C2C(=O)CC2(C)C1CCC2(O)C(=O)CO</td>\n",
       "      <td>523.2577</td>\n",
       "      <td>M+Glu+H</td>\n",
       "      <td>455.63</td>\n",
       "      <td>0.632</td>\n",
       "      <td>False</td>\n",
       "      <td>34389.0</td>\n",
       "      <td>Cortisone</td>\n",
       "      <td>VF-NPL-QEHF013899</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>754</th>\n",
       "      <td>./mzML/73C5_Cortisone_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>ARACHIDIC ACID</td>\n",
       "      <td>1</td>\n",
       "      <td>CCCCCCCCCCCCCCCCCCCC(=O)O</td>\n",
       "      <td>492.3930</td>\n",
       "      <td>M+Glu+NH4</td>\n",
       "      <td>1060.55</td>\n",
       "      <td>0.631</td>\n",
       "      <td>False</td>\n",
       "      <td>24626.0</td>\n",
       "      <td>Cortisone</td>\n",
       "      <td>HMDB0002212_ms_ms_2035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>755</th>\n",
       "      <td>./mzML/73C5_Cortisone_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>SOLASODINE (2GLC)</td>\n",
       "      <td>1</td>\n",
       "      <td>CC1CCC2(NC1)OC1CC3C4CC=C5CC(O)CCC5(C)C4CCC3(C)...</td>\n",
       "      <td>738.4686</td>\n",
       "      <td>M+2Glu+H</td>\n",
       "      <td>763.46</td>\n",
       "      <td>0.607</td>\n",
       "      <td>False</td>\n",
       "      <td>86417.0</td>\n",
       "      <td>Cortisone</td>\n",
       "      <td>VF-NPL-QEHF027390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>756</th>\n",
       "      <td>./mzML/73C5_Cortisone_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>AVOCADYNE ACETATE (2GLC)</td>\n",
       "      <td>1</td>\n",
       "      <td>C#CCCCCCCCCCCCC(O)CC(O)COC(C)=O</td>\n",
       "      <td>326.1990</td>\n",
       "      <td>M+2Glu+2H</td>\n",
       "      <td>861.65</td>\n",
       "      <td>0.566</td>\n",
       "      <td>False</td>\n",
       "      <td>25668.0</td>\n",
       "      <td>Cortisone</td>\n",
       "      <td>VF-NPL-QEHF013119</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>757</th>\n",
       "      <td>./mzML/73C5_Cortisone_1.mzML</td>\n",
       "      <td>73C5</td>\n",
       "      <td>3BETA-HYDROXY-23,24-BISNORCHOL-5-ENIC ACID</td>\n",
       "      <td>1</td>\n",
       "      <td>CC(C(=O)O)C1CCC2C3CC=C4CC(O)CCC4(C)C3CCC12C</td>\n",
       "      <td>255.1610</td>\n",
       "      <td>M+Glu+2H</td>\n",
       "      <td>626.12</td>\n",
       "      <td>0.556</td>\n",
       "      <td>False</td>\n",
       "      <td>10489.0</td>\n",
       "      <td>Cortisone</td>\n",
       "      <td>VF-NPL-QEHF011594</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>758 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                   File Enzyme_id  \\\n",
       "0    ./mzML/73C5_GlycocholicAcid_1.mzML      73C5   \n",
       "1    ./mzML/73C5_GlycocholicAcid_1.mzML      73C5   \n",
       "2    ./mzML/73C5_GlycocholicAcid_1.mzML      73C5   \n",
       "3    ./mzML/73C5_GlycocholicAcid_1.mzML      73C5   \n",
       "4    ./mzML/73C5_GlycocholicAcid_1.mzML      73C5   \n",
       "..                                  ...       ...   \n",
       "753        ./mzML/73C5_Cortisone_1.mzML      73C5   \n",
       "754        ./mzML/73C5_Cortisone_1.mzML      73C5   \n",
       "755        ./mzML/73C5_Cortisone_1.mzML      73C5   \n",
       "756        ./mzML/73C5_Cortisone_1.mzML      73C5   \n",
       "757        ./mzML/73C5_Cortisone_1.mzML      73C5   \n",
       "\n",
       "                                           Name  Rep  \\\n",
       "0                              GLYCOCHOLIC ACID    1   \n",
       "1                              DEOXYCHOLIC ACID    1   \n",
       "2                            CHOLESTEROL (2GLC)    1   \n",
       "3                                    SOLASODINE    1   \n",
       "4                             SOLASODINE (2GLC)    1   \n",
       "..                                          ...  ...   \n",
       "753                                   CORTISONE    1   \n",
       "754                              ARACHIDIC ACID    1   \n",
       "755                           SOLASODINE (2GLC)    1   \n",
       "756                    AVOCADYNE ACETATE (2GLC)    1   \n",
       "757  3BETA-HYDROXY-23,24-BISNORCHOL-5-ENIC ACID    1   \n",
       "\n",
       "                                               CSMILES  PrecursorMZ  \\\n",
       "0    CC(CCC(=O)NCC(=O)O)C1CCC2C3C(O)CC4CC(O)CCC4(C)...     628.3738   \n",
       "1      CC(CCC(=O)O)C1CCC2C3CCC4CC(O)CCC4(C)C3CC(O)C12C     572.3834   \n",
       "2        CC(C)CCCC(C)C1CCC2C3CC=C4CC(O)CCC4(C)C3CCC12C     752.5206   \n",
       "3    CC1CCC2(NC1)OC1CC3C4CC=C5CC(O)CCC5(C)C4CCC3(C)...     576.4149   \n",
       "4    CC1CCC2(NC1)OC1CC3C4CC=C5CC(O)CCC5(C)C4CCC3(C)...     738.4684   \n",
       "..                                                 ...          ...   \n",
       "753   CC12CCC(=O)C=C1CCC1C2C(=O)CC2(C)C1CCC2(O)C(=O)CO     523.2577   \n",
       "754                          CCCCCCCCCCCCCCCCCCCC(=O)O     492.3930   \n",
       "755  CC1CCC2(NC1)OC1CC3C4CC=C5CC(O)CCC5(C)C4CCC3(C)...     738.4686   \n",
       "756                    C#CCCCCCCCCCCCC(O)CC(O)COC(C)=O     326.1990   \n",
       "757        CC(C(=O)O)C1CCC2C3CC=C4CC(O)CCC4(C)C3CCC12C     255.1610   \n",
       "\n",
       "           Adduct       RT  CosineScore  C-gly       AUC   Substrate_used  \\\n",
       "0         M+Glu+H   528.93        0.989  False  179767.0  GlycocholicAcid   \n",
       "1       M+Glu+NH4   636.79        0.960  False   46008.0  GlycocholicAcid   \n",
       "2    M+2Glu+ACN+H   833.18        0.812  False  247989.0  GlycocholicAcid   \n",
       "3         M+Glu+H   834.19        0.733  False  553279.0  GlycocholicAcid   \n",
       "4        M+2Glu+H   763.09        0.693  False   71015.0  GlycocholicAcid   \n",
       "..            ...      ...          ...    ...       ...              ...   \n",
       "753       M+Glu+H   455.63        0.632  False   34389.0        Cortisone   \n",
       "754     M+Glu+NH4  1060.55        0.631  False   24626.0        Cortisone   \n",
       "755      M+2Glu+H   763.46        0.607  False   86417.0        Cortisone   \n",
       "756     M+2Glu+2H   861.65        0.566  False   25668.0        Cortisone   \n",
       "757      M+Glu+2H   626.12        0.556  False   10489.0        Cortisone   \n",
       "\n",
       "                   MoNA_DB#  \n",
       "0         VF-NPL-QEHF025254  \n",
       "1         VF-NPL-QEHF013890  \n",
       "2         VF-NPL-QEHF011349  \n",
       "3         VF-NPL-QEHF027390  \n",
       "4         VF-NPL-QEHF027390  \n",
       "..                      ...  \n",
       "753       VF-NPL-QEHF013899  \n",
       "754  HMDB0002212_ms_ms_2035  \n",
       "755       VF-NPL-QEHF027390  \n",
       "756       VF-NPL-QEHF013119  \n",
       "757       VF-NPL-QEHF011594  \n",
       "\n",
       "[758 rows x 13 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "8bb3e6d7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "59"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.sort_values(by=['AUC'], ascending=[False]) # The sorting ensures we keep the highest AUC when dropping\n",
    "df = df.drop_duplicates(subset=['Enzyme_id', 'Name'], keep='first')\n",
    "df.reset_index(drop=True, inplace=True)\n",
    "\n",
    "assert not any(df['AUC']<=0) # Sanity check\n",
    "# df = df.query('AUC > 10_000').reset_index(drop=True).copy()\n",
    "\n",
    "df['single_or_double'] = df['Name'].apply(lambda x: 'double' if \" (2GLC)\" in x  else 'single')\n",
    "df['Name'] = df['Name'].str.replace(' (2GLC)', '')\n",
    "\n",
    "len(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c7c48642",
   "metadata": {},
   "source": [
    "It appears that `0.85` is a good cutoff value. Let us filter `df` accordingly:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "42c8530c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.85\n",
      "22\n"
     ]
    }
   ],
   "source": [
    "score_thresholds = [0.85]\n",
    "for score_threshold in score_thresholds:\n",
    "    df = df[df['CosineScore']>=score_threshold]\n",
    "    df.reset_index(drop=True, inplace=True)\n",
    "\n",
    "    # Pivoting the dataframe\n",
    "    df_pivot = df.pivot(index=['File', 'Name', 'CSMILES', 'Enzyme_id'], columns='single_or_double', values=['CosineScore', 'RT', 'AUC', 'Adduct', 'C-gly','MoNA_DB#']).reset_index()\n",
    "\n",
    "    # Flattening the column hierarchy\n",
    "    df_pivot.columns = ['_'.join(col).strip('_') for col in df_pivot.columns.values]\n",
    "\n",
    "    df_pivot['single_double'] = df_pivot.apply(\n",
    "        lambda row: 'single_and_double' if row['AUC_single'] > 0 and row['AUC_double'] > 0 else (\n",
    "            'single' if row['AUC_single'] > 0 else (\n",
    "                'double' if row['AUC_double'] > 0 else None\n",
    "            )\n",
    "        ), axis=1\n",
    "    )\n",
    "\n",
    "    # Specifying the desired column order\n",
    "    desired_order = ['File', 'Name', 'CSMILES', 'Enzyme_id', 'single_double',\n",
    "                    'CosineScore_single', 'RT_single', 'AUC_single', 'Adduct_single', 'C-gly_single', 'MoNA_DB#_single', \n",
    "                    'CosineScore_double', 'RT_double', 'AUC_double', 'Adduct_double', 'C-gly_double','MoNA_DB#_double',]\n",
    "\n",
    "    # Reordering the columns\n",
    "    df_pivot = df_pivot[desired_order]\n",
    "\n",
    "    # Save the results\n",
    "    df_pivot.to_csv(f'./results/Val_results_CosineScore_{score_threshold}.csv', index=False) # for paper\n",
    "\n",
    "    print(score_threshold)\n",
    "    print(len(df_pivot))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "08658da1",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
